// 双端队列
// 1. 先 trim
// 2. 定义一个临时变量，一直累加
// 3. 遇到空格，需要判断 temp 是否为空，将临时 str 放入 res 数组中
// 4. 循环结束，将 temp 放入 res 数组中

var reverseWords = function (s) {
  s = s.trim();
  let str = [...s];
  let res = [];
  let temp = "";
  for (let i = 0; i < str.length; i++) {
    if (str[i] === " ") {
      if (temp.trim().length) {
        res.unshift(temp);
        temp = "";
      }
    } else {
      temp += str[i];
    }
  }
  res.unshift(temp);
  return res.join(" ");
};

// 方式 2
// \s 代表一个空白字符
var reverseWords = function (s) {
  return s.trim().split(/\s+/).reverse().join(" ");
};

